/**
 * koa
 * 先通过用法来掌握koa的原理，原理分析清楚之后，就知道该怎么用
 * 实例上有三个核心的方法
 * use 注册函数
 * listen 监听端口
 * on('error') 监听错误
 */

const Koa = require('./koa');
const app = new Koa(); // 创建一个koa应用

/**
 * 相当于 handleRequest
 * ctx：koa中的上下文，对原生的req和res进行封装
 *  ctx.req / ctx.res / ctx.request.req     原生的对象
 *  ctx.request / ctx.response / ctx.url   自己封装的
 *
 *  */
app.use(function (ctx) {
  ctx.body = 'hello';
});

app.listen(9000);
